// components/bottom-menu/bottom-menu.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    currentTab: {
      type: String,
      value: 'index',
      observer: function(newVal, oldVal) {
        console.log('bottom-menu currentTab changed:', oldVal, '->', newVal);
        // 确保 currentTab 不为 null 或 undefined
        if (!newVal || newVal === null || newVal === undefined) {
          console.warn('currentTab is null/undefined, using default value');
          this.setData({
            currentTab: 'index'
          });
        } else {
          // 将新的 currentTab 值同步到 data
          this.setData({
            currentTab: newVal
          });
        }
      }
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    currentTab: 'index', // 添加默认的 currentTab 到 data 中
    tabs: [
      { key: 'index', icon: '🏠', text: '首页' },
      { key: 'courses', icon: '📚', text: '课程' },
      { key: 'member', icon: '💎', text: '会员' },
      { key: 'profile', icon: '👤', text: '我的' }
    ]
  },

  /**
   * 组件生命周期
   */
  lifetimes: {
    attached: function() {
      console.log('bottom-menu component attached, currentTab:', this.properties.currentTab);
      // 确保 currentTab 有有效值
      if (!this.properties.currentTab || this.properties.currentTab === null || this.properties.currentTab === undefined) {
        console.warn('currentTab is invalid, setting to default');
        this.setData({
          currentTab: 'index'
        });
      } else {
        // 将 properties.currentTab 同步到 data.currentTab
        this.setData({
          currentTab: this.properties.currentTab
        });
      }
    }
  },

  /**
   * 页面生命周期
   */
  pageLifetimes: {
    show: function() {
      console.log('bottom-menu pageLifetimes show, currentTab:', this.properties.currentTab);
      // 页面显示时，重新同步 currentTab
      if (this.properties.currentTab) {
        this.setData({
          currentTab: this.properties.currentTab
        });
      }
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    onTabClick: function(e) {
      var tab = e.currentTarget.dataset.tab
      var currentTab = this.data.currentTab || this.properties.currentTab || 'index';
      console.log('点击菜单:', tab, '当前页面:', currentTab)
      
      // 页面路径映射
      var pages = {
        'index': '/pages/index/index',
        'home': '/pages/home/home',
        'courses': '/pages/courses/courses',
        'member': '/pages/member/member',
        'profile': '/pages/profile/profile',
        'team': '/pages/team/team'
      }

      // 如果点击的是当前页面，不进行跳转
      if (currentTab === tab) {
        wx.showToast({
          title: '当前页面',
          icon: 'none'
        })
        return
      }

      var pagePath = pages[tab]
      if (!pagePath) {
        wx.showToast({
          title: '页面不存在',
          icon: 'none'
        })
        return
      }

      console.log('准备切换到标签页:', pagePath)

      // 使用 switchTab 进行标签页切换
      wx.switchTab({
        url: pagePath,
        success: function() {
          console.log('成功切换到标签页:', tab)
        },
        fail: function(err) {
          console.error('标签页切换失败:', err)
          wx.showToast({
            title: '页面切换失败',
            icon: 'none'
          })
        }
      })
    }
  }
})
